The present application relates generally to an improved data processing apparatus and method and more specifically to an apparatus and method for inventorying software on a shared file system.
Several system management software applications require the availability of a comprehensive knowledge base that contains information on software products, which may be currently installed and running on a plurality of data processing systems. Normally, this knowledge base is in the form of a software catalog which contains definitions of software products (e.g. product names or versions). The software catalog lists all the known products which may be found on the managed systems. Each product may be identified by one or more executable modules indicative of the running product.
Thus, system management requires a complete and accurate picture of software installed on each monitored system. To save disk space and ease product maintenance, system administrators sometimes install system management software on a shared file system that is accessible by multiple computing systems that are coupled to the shared file system. To build a complete picture of installed software, each configuration management agent on each computing system executes a software inventory scan of the shared file systems to which the computing system is coupled, searching for installed software packages each time a request is received from a coupled machine. The software inventory scan operation may be very resource and network intensive, because a shared file system may be mounted by hundreds or thousands of computing systems. When so many systems access a shared file system, the performance of the shared file system is completely compromised, making the shared file system largely unusable for real workload.